#生成   a-z A-Z 0-9的样本

#首先做一个映射表
#对常见的几种英文字体生成就行了 （其实后期可以在加的）
#生成策略目前只考虑， 斜体、粗体、字号、位置  4中情况
#要使用多进程，为了高效率

#借鉴别人的思路，标签就是文件夹名字，样本放文件夹中     先用这种吧，毕竟数据量也不大，先从简单的角度来搞搞
#使用pandas之类的工具，其实这种方式效率肯定高一些的。。。

import numpy as np
import cv2
import os
import random
import my_ascll_dict



dicta = my_ascll_dict.getmyasclldict()

print(dicta)


folder = r'C:\Users\he\Desktop\dataset'


for onechar in dicta:
    os.mkdir(folder + "/%d"%onechar)

    print('now generate %d index...'%onechar)
    index = 1
#每个字符生成100种差不多吧

    size = 1

    for i in range(500):
        img = np.zeros((28,28,1),dtype='uint8')
        font = cv2.FONT_HERSHEY_PLAIN
        cv2.putText(img, dicta[onechar], (random.randint(1,20),random.randint(10,27)),font,size,(255,255,255),random.randint(1,1) )


        cv2.imwrite(folder+ "/%d/%d.png"%(onechar,index),img)
        index+=1


    size = 2

    for i in range(500):
        img = np.zeros((28,28,1),dtype='uint8')
        font = cv2.FONT_HERSHEY_PLAIN
        cv2.putText(img, dicta[onechar], (random.randint(1,13),random.randint(17,27)),font,size,(255,255,255),random.randint(1,2) )


        cv2.imwrite(folder+ "/%d/%d.png"%(onechar,index),img)
        index+=1


